#include <stdio.h>

/*
函数:strcat
参数:
	@__dest 目标参数
    @__src	原始参数
功能:
	将原始参数中的字符串追加写 到 目标参数 尾部
返回值
*/
char *my_strcat(char *dest, const char *src);
/*
函数:strcmp
参数:
	@__s1  	目标参数
	@__s2	原始参数
		
功能:
	比较原始参数和目标参数 字符串是否一致
		如果一致 则返回 0
		如果 s1 的 ascii 的值大于 s2 返回正数
		如果 s2 的 ascii 的值大于 s1 返回负数
返回值
*/
int my_strcmp(const char *s1, const char *s2);

int main(int argc, char const *argv[])
{
    char buf_1[128] = "zhangsan";
    char buf_2[128] = "zhangsanlisi";

    printf("buf_1 + buf_2 \t %d\n" , my_strcmp(buf_1 , buf_2));
    return 0;
}


char *my_strcat(char *dest, const char *src)
{
    char * str_ptr = dest;

    while ('\0' != *str_ptr)
    {
        str_ptr++;
    }
    size_t i = 0;
    for (i = 0; '\0' != src[i] ; i++)
    {
        str_ptr[i] = src[i];
    }
    str_ptr[i] = src[i];
    return dest;
}


int my_strcmp(const char *s1, const char *s2)
{
    const char * pre_s1 = s1;
    const char * pre_s2 = s2;

    for (size_t i = 0;'\0' != pre_s1[i] || '\0' != pre_s2[i]; i++)
    {
        if (pre_s1[i] != pre_s2[i])
        {
            return pre_s1[i] - pre_s2[i];
        }
    }
    return 0;

}
